-- cure_percent_sum
-- create by wangy
-- 技能: 宠物恢复玩家生命值(目标生命百分比)


return {
    apply = function(source, target, skillId, round, para, extra)
        -- 1. 威力
        local force = para[1];

        -- 2. 被恢复怪物最大生命
        local targetHp = target:queryAttrib("hp");
        local maxHp = target:queryAttrib("max_hp");

        -- 3. 恢复%最大生命
        local hp = math.modf(force * maxHp / 1000);

        -- 不超过上限
        local v = targetHp + hp;
        if v > maxHp then
            hp = math.max(maxHp - targetHp, 0);
        end

        CombatM.receiveCure(source, target, hp);

        -- 回血事件
        EventMgr.fire(event.HP_RECOVER, hp);

        -- 作用目标
        return { target, };
    end,

    parse = function(desc)
        local arr = string.explode(desc, ",");
        return { tonumber(arr[1]), };
    end,

    -- 解析技能描述
    parseDesc = function(source, skillId, desc, para)
        return desc;
    end,
}

